package com.arithmetic.binaryTree;


/**
 * 二叉树
 *
 * 二叉树的分类：满二叉树、完全二叉树
 * 二叉树的存储：链式存储，数组存储
 * 二叉树的遍历: 前序，中序，后序
 */
public class BinaryTreeDemo {

    /**
     * 前序遍历的递推公式：
     * preOrder(r) = print r->preOrder(r->left)->preOrder(r->right)
     *
     * 中序遍历的递推公式：
     * inOrder(r) = inOrder(r->left)->print r->inOrder(r->right)
     *
     * 后序遍历的递推公式：
     * postOrder(r) = postOrder(r->left)->postOrder(r->right)->print r
     */
    public void demo(){

    }


    /**
     * void preOrder(Node* root) {
     *   if (root == null) return;
     *   print root // 此处为伪代码，表示打印root节点
     *   preOrder(root->left);
     *   preOrder(root->right);
     * }
     *
     * void inOrder(Node* root) {
     *   if (root == null) return;
     *   inOrder(root->left);
     *   print root // 此处为伪代码，表示打印root节点
     *   inOrder(root->right);
     * }
     *
     * void postOrder(Node* root) {
     *   if (root == null) return;
     *   postOrder(root->left);
     *   postOrder(root->right);
     *   print root // 此处为伪代码，表示打印root节点
     * }
     */
}
